<?xml version="1.0" encoding="utf-8"?>
<nsis xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:iNSISt:schemas:code-generation-1.0">
  
  <!--
    *** DOCUMENTATION ***
    
    - Any place where a path is specified, it doesn't matter if the path
      has an ending '\' or not. The XSLT will append one if it isn't there.
    - Essentially, the XML file allows you to specify the following attributes
      for your NSIS script:
        > General product information (name, version, publisher).
        > The path and name of the primary executable.
        > The default installation directory.
        > The contents of the 'main' section of the NSIS script.
        > Optionally, other sections and their contents may also be specified.
        > Within a section, the 'fileGroup' and 'file' tags are used to
          specify which files are included in that section, and the 'shortcutGroup'
          and 'shortcut' tags are used to specify which shortcuts are created.
        > The 'ui' tag, if present, indicates which UI is to be used. Right now,
          the *ONLY* UI that is supported is the NSIS "Modern UI." If the 'ui'
          tag is absent, then a silent installer (no UI) is created.
        > Within the 'modernUI' tag, other tags specifying pages and their attributes
          can be included. See the NSIS help documentation for what these pages and
          attributes are and how they change the behavior of the installer.
        > Note that only INSTALLER pages can be specified at this time. The uninstaller
          will automatically include only one page: the "uninstall files" page.
        > The 'prerequisites' tag can be used to specify prerequisites that the installer
          will ensure are on the machine before installing the product. Currently, the
          only prerequisite that is supported is the .NET Framework v2.0.
    - Values of tags and attributes may use standard NSIS variables & contants ($PROGRAMFILES,
      etc.) and may also use the following custom variables and constants that are defined
      within the generated NSIS script:
        > ${PRODUCT_NAME}       Value of the 'name' attribute of the 'product' tag
        > ${PRODUCT_VERSION}    Value of the 'version' attribute of the 'product' tag
        > ${PRODUCT_PUBLISHER}  Value of the 'publisher' attribute of the 'product' tag
        > ${PRODUCT_EXECUTABLE} Value of the 'executable' tag
        > $INSTDIR              Folder where product will be installed
  -->
  
  <product name="My Fantastic Product" version="1.0" publisher="My Company" />
  <executable path="..\path\where\app\resides">MyApplication.exe</executable>
  <outfile>Setup.exe</outfile>
  <installDir>$PROGRAMFILES\${PRODUCT_NAME}</installDir>
  <mainSection>
    <fileGroup destination="$INSTDIR">
      <file>..\relative\path\to\file1</file>
      <file>C:\absolute\path\to\file2</file>
      <file>..\relative\path\to\file3</file>
    </fileGroup>
    <fileGroup destination="$INSTDIR\images">
      <file>images\image1</file>
      <file>images\image2</file>
    </fileGroup>
    <shortcutGroup destination="$DESKTOP">
      <shortcut icon="$INSTDIR\images\shortcut_icon.ico" target="$INSTDIR\${PRODUCT_EXECUTABLE}">${PRODUCT_NAME}.lnk</shortcut>
    </shortcutGroup>
    <shortcutGroup destination="C:\path\to\other\shortcuts">
      <shortcut target="$INSTDIR\${PRODUCT_EXECUTABLE}">${PRODUCT_NAME}.lnk</shortcut>
    </shortcutGroup>
  </mainSection>
  <ui>
    <modernUI>
      <installPages>
        <welcomePage threeLineTitle="true" />
        <directoryPage />
        <startMenuPage pageId="Application" variable="$ICON_GROUP" />
        <instFilesPage />
        <finishPage>
          <run file="$INSTDIR\${PRODUCT_EXECUTABLE}" />
        </finishPage>
      </installPages>
    </modernUI>
  </ui>
  <prerequisites>
    <dotNetFramework version="2.0" />
  </prerequisites>
</nsis>